<html>
<title>SNUVM 0.2 help contents
</title>
<body>
<center>
<h3>SNUVM - Seoul National University Assembly-executable Virtual Machine</h3>
<h4>Release 0.3</h4>
<h4>February 2010</h4>
<h4>Configuration Settings</h4>
</center>

Releases 0.2 and later include a Settings menu.  The Editor and Exception Handler items launch a dialog but the rest are each
controlled by a checkbox for selecting or deselecting it (checked means true, unchecked means false).  Settings and their default
values are:
   <ol>
   <li><b>Display the Labels window in the Execute tab.</b>  Default value is <b>false</b>.  If selected, the Labels window,
       which shows the name and associated address for each label defined in the program, will be
       displayed to the right of the Text Segment.</li>
   <li><b>Provide program arguments to the ARM9 program.</b>  Default value is <b>false</b>.
       If selected, a text field will appear at the top of the Text Segment Display.  Any argument values in this
       text field at the time of program execution will be stored in ARM9 memory prior to execution.  The argument
       count (argc) will be placed in register $a0, and the address of an array of null-terminated strings containing
       the arguments (argv) will be placed in register $a1.  These values are also available on the runtime stack ($sp).
   <li><b>Display memory addresses in hexadecimal.</b>  Default value is <b>true</b>.  If deselected, addresses will be displayed in decimal.
       This setting can also be toggled in a checkbox on the lower border of the Data Segment Window.</li>
   <li><b>Display memory and register contents in hexadecimal.</b>  Default value is <b>true</b>.  If deselected, vlaues will be displayed in decimal.
       This setting can also be toggled in a checkbox on the lower border of the Data Segment Window.</li>
   <li><b>Assemble a file automatically as soon as it is opened,</b> and initialize the File Open dialog with the most-recently opened file.  
       Default value is <b>false</b>.  This is convenient if you use an external editor for composing your programs.</li>
   <li><b>Assemble applies to all files in directory.</b>  Default value is <b>false</b>.
       If selected, the file currently open in the
       editor will become the "main" program in a multi-file assemble-and-link operation involving all
       assembly files (*.asm; *.s) in its directory.  If successful, execution will begin with the currently open file. </li>
   <li><b>Assembler warnings are considered errors.</b>  Default value is <b>false</b>.
       If selected, the assemble operation will fail if any warnings are produced.  At this time, all assembler warnings
       relate to unrecognized or ignored directives.  SNUVM may be able to assemble code produced by compilers for other ARM9
       assemblers if this setting is deselected.
   <li><b>Permit programs to use extended (pseudo) instructions and formats.</b>  Default value is <b>true</b>.  This includes all memory addressing
       modes other than the ARM9 native mode (16 bit constant offset added to register content).</li>
   <li><b>The Editor dialog.</b>  Use it to view and modify editor font settings.</li>
   <li><b>The Highlighting dialog.</b>  Use it to modify color and font settings for the highlighting of table items in the 
       Text Segment window, Data Segment window, Registers window, Coprocessor0 window and Coprocessor1 window.
       Highlighting occurs during timed, stepped, and backstepped simulation.  Color and font for normal (non-highlighted)
		 display can also be set separately for even-numbered and odd-numbered display rows but not individually by windows.
      </li>
   <li><b>The Exception Handler dialog.</b>  It has the setting: Include this
exception handler in all assemble operations.  Default value is <b>false</b>.  If selected, a button to browse to the desired
       file is enabled.</li>
	<li><b>The Memory Configuration dialog.</b>  Use it to select from among available ARM9 address space configurations.
	The default configuration is derived from SPIM.
   </ol>
Settings are stored in a system-dependent
way as specified by <tt>java.util.prefs.Preferences</tt>.  Windows systems use the Registry.
These settings are independent of command options given when using SNUVM from a command line;
neither affects the other.  We anticipate future releases will include additional settings and preferences.
<p>

<hr>
<p>
This document is available for printing on the SNUVM home page
<tt><b>http:/snuvm.snu.ac.kr/</b></tt>.
</body>
</html>